#include "myjson.h"
#include <QDebug>

MyJson::MyJson()
{

}

bool MyJson::setDoc(QString json)
{
    QJsonParseError jsonError;
    m_doc = QJsonDocument::fromJson(json.toUtf8(), &jsonError);
    if (jsonError.error != QJsonParseError::NoError && !m_doc.isNull())
    {
        qDebug() << "Json格式错误！" << jsonError.error;
        return false;
    }
    else
        return true;
}

QString MyJson::getValueStr(QString key)
{
    QJsonObject parse = m_doc.object();
    QJsonValue value = parse.value(key);
    return value.toString();
}

int MyJson::getValueInt(QString key)
{
    QJsonObject parse = m_doc.object();
    QJsonValue value = parse.value(key);
    return value.toInt();
}

QString MyJson::setValue(QString key,QString value)
{
    m_obj.insert(key,value);
    m_doc.setObject(m_obj);
    QByteArray byte_array = m_doc.toJson(QJsonDocument::Compact);
    QString json_str(byte_array);
    return json_str;
}

QString MyJson::setValue(QString key,int value)
{
    m_obj.insert(key,value);
    m_doc.setObject(m_obj);
    QByteArray byte_array = m_doc.toJson(QJsonDocument::Compact);
    QString json_str(byte_array);
    return json_str;
}

void MyJson::clear()
{
    while(m_obj.empty()==false)
        m_obj.erase(m_obj.end());
}
